//#include <base.js>
//#include <openlayersExt.js>
//#include <event.js>


/**
* 
* Oggetto per la creazione della toolbar
* 
* @namespace CWN2
* @class ToolbarBuilder
* 
*/

CWN2.ToolbarBuilder = {

	/**
	* 
	* Array degli elementi (bottoni/menu) disponibili
	* 
	* @property itemDefs
    * @type [{toolbarItem}]
	*/

	itemDefs: [],
	
	/**
	* 
	* Build the toolbar
	* 
	* @method build
	* 
	* 
	* 
	*/ 
	
	build: function() {
		
		// costruisco la toolbar
		var  toolbarItems = [], actionOptions, actionConfig, action, control;

		// ciclo su tutti gli elementi della toolbar
		for (var group in CWN2.configuration.toolbar.itemGroups) {
			for (var item in CWN2.configuration.toolbar.itemGroups[group].items) {
				if (typeof(CWN2.configuration.toolbar.itemGroups[group].items[item]) != 'function') {
					// creo la action e la aggiungo alla toolbar
					//console.log(CWN2.configuration.toolbar.itemGroups[group].items[item]);
					var createFunction = CWN2.ToolbarBuilder.itemDefs[CWN2.configuration.toolbar.itemGroups[group].items[item].name].create;
					var itemOptions = CWN2.ToolbarBuilder.itemDefs[CWN2.configuration.toolbar.itemGroups[group].items[item].name].options;
					var item = createFunction(itemOptions);
					//console.log(item);
					toolbarItems.push(item);
				}
			};
			if (group < CWN2.configuration.toolbar.itemGroups.length - 1) {
				toolbarItems.push("-");
			}
		};

		// aggiungo il bottone di help
		toolbarItems.push("->");
		var createFunction = CWN2.ToolbarBuilder.itemDefs["help"].create;
		var itemOptions = CWN2.ToolbarBuilder.itemDefs["help"].options;
		var item = createFunction(itemOptions);
		toolbarItems.push(item);
		
		return new Ext.Toolbar({id:'toolbar', items: toolbarItems});
			
	}
};